package com.hk.player.core;

import android.view.View;

/**
 * @author: zhoug
 * @since: 2025-08-06
 */
public interface IPlayerControl {
    int FLAG_RECORDING = 1;//录像按钮
    int FLAG_SCREEN_SHOT = 2;//截图按钮
    int FLAG_TALK = 4;//对讲按钮
    int FLAG_WRITE = 8;//巡检按钮
    int FLAG_PLAYBACK = 16;//回放按钮
    int FLAG_QUALITY = 32;//质量:高清表情按钮
    int FLAG_SOUND = 64;//声音 按钮
    int FLAG_FULL_SCREEN = 128;//全屏按钮
    //显示全部按钮
    int FLAG_ALL = FLAG_RECORDING | FLAG_SCREEN_SHOT | FLAG_TALK | FLAG_WRITE |
            FLAG_PLAYBACK | FLAG_SOUND | FLAG_FULL_SCREEN;

    /**
     * 设置显示哪些按钮
     *
     * @param flag {@link #FLAG_RECORDING ...}
     */
    void setBtnFlag(int flag);

    /**
     * 设置 录像 按钮的状态
     *
     * @param recording true:正在录像,false:未录像
     */
    void setRecordBtnState(boolean recording);

    /**
     * 设置 对讲 按钮的状态
     *
     * @param talking true:正在对讲,false:未对讲
     */
    void setTalkBtnState(boolean talking);

    /**
     * 设置 静音 按钮的状态
     *
     * @param mute true:开启静音,false:关闭静音
     */
    void setMuteBtnState(boolean mute);

    /**
     * 设置 全屏 按钮的状态
     *
     * @param fullScreen true:全屏,false:非全屏
     */
    void setFullScreenBtnState(boolean fullScreen);

    /***
     * 设置 录像 按钮点击事件
     * @param onClickListener OnClickListener
     */
    void setRecordBtnClickListener(View.OnClickListener onClickListener);

    /***
     * 设置 截屏 按钮点击事件
     * @param onClickListener OnClickListener
     */
    void setScreenshotBtnClickListener(View.OnClickListener onClickListener);

    /***
     * 设置 对讲 按钮点击事件
     * @param onClickListener OnClickListener
     */
    void setTalkBtnClickListener(View.OnClickListener onClickListener);

    /***
     * 设置 回放 按钮点击事件
     * @param onClickListener OnClickListener
     */
    void setPlaybackBtnClickListener(View.OnClickListener onClickListener);

    /***
     * 设置 静音 按钮点击事件
     * @param onClickListener OnClickListener
     */
    void setMuteBtnClickListener(View.OnClickListener onClickListener);

    /***
     * 设置 高清 按钮点击事件
     * @param onClickListener OnClickListener
     */
    void setQualityBtnClickListener(View.OnClickListener onClickListener);

    /***
     * 设置 巡检 按钮点击事件
     * @param onClickListener OnClickListener
     */
    void setWriteBtnClickListener(View.OnClickListener onClickListener);

    /***
     * 设置 全屏 按钮点击事件
     * @param onClickListener OnClickListener
     */
    void setFullScreenBtnClickListener(View.OnClickListener onClickListener);


}
